<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <meta http-equiv="X-UA-Compatible" content="ie=edge" />
  <title>Document</title>
  <!-- 导入页面的基本样式 -->
  <link rel="stylesheet" href="./css/search.css" />
  <!-- 导入 jQuery -->
  <script src="./lib/jquery.js"></script>
</head>

<body>
  <div class="container">
    <!-- Logo -->
    <img src="./images/taobao_logo.png" alt="" class="logo" />

    <div class="box">
      <!-- tab 栏 -->
      <div class="tabs">
        <div class="tab-active">宝贝</div>
        <div>店铺</div>
      </div>

      <!-- 搜索区域（搜索框和搜索按钮） -->
      <div class="search-box">
        <input id="ipt" type="text" class="ipt" placeholder="请输入要搜索的内容" />
        <button class="btnSearch">搜索</button>
      </div>

      <!-- 搜索建议列表 -->
      <div id="suggest-list"></div>
    </div>
  </div>

  <script>
    $(function () {
      $('#ipt').on('keyup', function () {
        // 获取输入的关键字
        var keyword = $(this).val().trim()

        if (keyword.length <= 0) {
          return
        }

        getList(keyword)

      })

      // 为什么需要拆分成两个方法
      // 1. 职能单一，getList 就是用来处理数据， renderHtml 就是用来处理 DOM 结构
      // 2. 方便后期维护

      // 发送 ajax 的方法
      function getList(kw) {
        $.ajax({
          url: `https://suggest.taobao.com/sug?q=${kw}`,
          dataType: 'jsonp',
          success: function (res) {
            // console.log(res)
            renderHtml(res)
          }
        })
      }

      // 生成页面结构的方法
      // 使用模板字符串形式来生成页面结构
      function renderHtml(res) {
        // 声明页面结构
        var html = ''

        // 使用循环的方式生成页面结构
        $.each(res.result, function (index, item) {
          html += `
            <div class="suggest-item">${item[0]}</div>
          `
        })

        // 将生成的页面结构插入到父级中
        $('#suggest-list').append(html).show()
      }
    })
  </script>
</body>

</html>